1. Field of the Invention
The present invention relates to a method for error correction in a synchronized superposed operation of two servomotors for the main shaft and subsidiary shaft for machine tools, for example, and more particularly relates to a method for error correction in a synchronized superposed operation of such servomotors, in which a speed command and a current command given to the servomotor on the subsidiary shaft side are corrected using the errors between ideal position deviation and actual position deviation for position and speed of the two shafts.
2. Description of the Prior Art
FIG. 1 is a block diagram of a control system for a two-shaft arrangement of a servomotor controller in the prior art. Referring to the diagram, reference character 1a.sub.1 denotes a servo control system for the first shaft, 2a denotes a target position command .theta..sub.ra input to the first shaft servo control system 1a.sub.1, 3a denotes a position loop gain K.sub.pa becoming the position response to the target position command .theta..sub.ra (2a), 4a denotes a speed command V.sub.ra into which the target position command .theta..sub.ra (2a) is transformed after being passed through the position loop gain K.sub.pa (3a), 5a denotes a speed loop gain K.sub.va becoming the speed response to the speed command V.sub.ra (4a), 6a denotes a current command I.sub.ra into which the speed command V.sub.ra (4a) is transformed after being passed through the speed loop gain K.sub.va (5a), 7a denotes a current loop gain K.sub.ia becoming the current response to the current command I.sub.ra (6a), 8a denotes an actual current I.sub.fa into which the current command I.sub.ra (6a) is transformed after being passed through the current loop gain K.sub.ia (7a), 9a denotes a torque constant K.sub.Ta as a relational constant between the motor current and the output torque for the first shaft, 10a denotes the sum total of the motor rotor inertia J.sub.Ma and the load inertia J.sub.La indicative of the load applied to the first shaft of the motor, 11a denotes an integrating term for converting a current into a speed in the servo control system, 12a denotes an actual speed V.sub.fa obtained after being passed through the integrating term 11a, 13a denotes an integrating term for converting a speed into a position in the servo control system, and 14a denotes an actual position .theta..sub.fa into which the speed V.sub.fa (12a) is transformed after being passed through the integrating term (13a). Similarly, reference character 1b.sub.1 denotes a servo control system for the second shaft, 2b denotes a target position command .theta..sub.rb, 3b denotes a position loop gain K.sub.pb, 4b denotes a speed command V.sub.rb, 5b denotes a speed loop gain K.sub.vb, 6b denotes a current command I.sub.rb, 7b denotes a current loop gain K.sub.ib, 8b denotes an actual current I.sub.fb, 9b denotes a torque constant K.sub.Tb, 10b denotes the sum total of the motor rotor inertia J.sub.Mb and the load inertia J.sub.Lb, 11b denotes an integrating term, 12b denotes an actual speed V.sub.fb, 13b denotes an integrating term, and 14b denotes an actual position .theta..sub.fb. As other elements arranged outside these loops of the control system for the first shaft, 15a denotes an ideal position loop for calculating the ideal position of the first shaft, 16a denotes a position loop gain K.sub.pa inside the ideal position loop 15a, 17a denotes its integrating term, and 18a denotes an ideal position .theta..sub.fa0, and similarly, 15b denotes an ideal position loop for the second shaft, 16b denotes a position loop gain K.sub.pb, 17b denotes its integrating term, and 18b denotes an ideal position .theta..sub.fb0. Further, 31a to 34a and 31b to 34b each denote a subtractor for subtracting an input signal on the (-) side from the input signal on the (+) side thereby outputting the difference.
Now, the operation of the arrangement of FIG. 1 will be described. Upon receipt of the target position command .theta..sub.ra (2a) input to the servo control system 1a.sub.1 for the first shaft and the present actual position .theta..sub.fa (14a) fed back from the integrating term 13a, the subtractor 31a calculates a position deviation (.theta..sub.ra - .theta..sub.fa) as the difference between the two signals. The calculated position deviation is multiplied by the position loop gain K.sub.pa (3a) and thereby the speed command V.sub.ra (4a) is obtained. Similar to the case of the position deviation, the difference between this speed command and the present actual speed V.sub.fa (12a) fed back from the integrating term 11a V.sub.fa - V.sub.fa, is calculated by the subtractor 32a and thereby the speed deviation V.sub.ra - V.sub.fa is obtained. The calculated speed deviation is multiplied by the speed loop gain K.sub.va (5a) and thereby the current command I.sub.ra (6a) is obtained. Also, the difference between this current command and the fed back present actual current I.sub.fa (8a), I.sub.ra - I.sub.fa, is calculated by the subtractor 33a. This current difference is multiplied by the current loop gain K.sub.ia (7a) and thereby the actual current I.sub.fa (8a) actually flowing through the motor is generated. The generated current I.sub.fa (8a) produces a torque proportional thereto to rotate the motor, the produced torque being dependent on the torque constant K.sub.Ta (9a). The thus produced torque, in reality, works as motive power after being attenuated by the sum total 10a of the rotor inertia J.sub.Ma and the load inertia J.sub.La as the load applied to the motor, and if this is considered in terms of the servo system, the torque after being integrated by the integrating term 11a becomes the speed V.sub.fa (12a), and the speed V.sub.fa being integrated by the integrating term 13a becomes the position .theta..sub.fa (14a). As apparent from the diagram, the current, speed, and position are respectively provided with loops whereby they are separately loop-controlled.
Apart from the above described control loops, the ideal position loop 15a calculates the ideal position .theta..sub.fa0 (18a) by means of the position loop gain 16a having the same value as the position loop gain K.sub.pa (3a) and the integrating term 17a. More specifically, in the ideal position loop 15a, the subtractor 34a detects the difference between the position command .theta..sub.ra (2a) and the ideal position .theta..sub.faO (18a), this difference is multiplied by the position loop gain K.sub.pa (16a), and this product is integrated by the integrating term 17a, whereby the ideal position .theta..sub.faO (18a) is calculated. Separate from the just described ideal position calculation, there is provided a check-loop function, whereby the difference between the target position command .theta..sub.ra (2a) and the actual position .theta..sub.fa (14a) is monitored at all times and it is watched whether or not the motor as the object of control is normally operating, in consideration of the dynamic characteristics of the servo system, and in the event that this difference becomes too great, an alarm is given to signal the occurrence of a malfunction. The ideal position loop 15b operates quite the same as the ideal position loop 15a.
The control system 1b.sub.1 for the second shaft operates quite the same as the control system for the first shaft. Even during the synchronized superposed operation bearing a mutual relationship between the two shafts, there is nothing existing in the system on one side to affect the control system on the other side and each system operates independently. The dynamic operations of each shaft are determined by the position loop gains K.sub.pa (3a), K.sub.pb (3b), speed loop gains K.sub.va (5a), K.sub.vb (5b), current loop gains K.sub.ia (7a), K.sub.ib (7b), torque constants K.sub.Ta (9a), K.sub.Tb (9b), and J.sub.Ma +J.sub.La (10a), J.sub.Mb +J.sub.Lb (10b) as loads. Therefore, even if the same commands are given to the systems for the first shaft and the second shaft, there arise some errors between the two shafts so far as there are some differences between the above mentioned factors determined by the dynamic operations.
Since servomotor controllers of the prior art were constructed as described above, there have been such problems that the controllers are provided with no function for balancing relative operations and responses between the shafts of two servomotors and, since it is required that operations and responses are well balanced in each servomotor for achieving a satisfactory synchronized superposed operation, it is difficult for the controllers each to detect errors occurring between shafts and, hence, it is very difficult to adjust each of the control elements